package com.yang.action.Html;

import com.jspsmart.upload.*;
import com.yang.entity.Ads;
import com.yang.entity.User;
import com.yang.service.AdsService;
import com.yang.service.UserService;
import com.yang.util.RespEntity;
import com.yang.util.RespUtil;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.sql.Date;
import java.util.UUID;

@WebServlet("/AdsUpdate")
public class HtmlAdsUpdateAction extends HttpServlet {
    //广告修改数据
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        try {
            //文件上传初始化
            SmartUpload su=new SmartUpload();
            su.setCharset("utf-8");
            su.initialize(this.getServletConfig(),req,resp);
            //得到文件上传的保存路径
            String filePath=req.getServletContext().getRealPath("/img/slides/");
            System.out.println(filePath);
            //开始解析数据
            su.upload();
            //得到上传的文件【所有的文件】
            Files files = su.getFiles();
            //但是我们知道这里只有一个,所以得到这一个文件
            File file = files.getFile(0);
            String userImg=null;
            //判断是否存在上传的文件【判断文件的大小】
            if(file.getSize()>0){
                //得到文件的后缀
                String fileExt = file.getFileExt();
                //防名字冲突
                String fileName = UUID.randomUUID().toString();
                fileName=fileName+"."+fileExt;
                //保存在数据库中的地址
                userImg="img/slides/"+fileName;
                //得到了文件的完全路径【图片保存在服务器的地址】
                filePath=filePath+fileName;
                //保存文件
                file.saveAs(filePath);
                System.out.println("文件路劲"+filePath);
            }
            //获取其他的数据
            Request myReq = su.getRequest();
            String id = myReq.getParameter("id");
            String title = myReq.getParameter("title");
            String remark = myReq.getParameter("remark");
            String img = myReq.getParameter("img");
            String url = myReq.getParameter("url");
            //创建对象
            Ads ads=new Ads();
            //封装数据
            ads.setId(Integer.parseInt(id));
            if(title!=null&&!"".equals(title)){
                ads.setTitle(title);
            }
            if(remark!=null&&!"".equals(remark)){
                ads.setRemark(remark);
            }
            if(url!=null&&!"".equals(url)){
                ads.setUrl(url);
            }
            if(img!=null&&!"".equals(img)){
                ads.setImg(img);
            }
            if(userImg!=null&&!"".equals(userImg)){
                ads.setImg(userImg);
                System.out.println(userImg);
            }
            //调用service进行处理
            System.out.println(ads.toString());
            AdsService adsService=new AdsService();
            RespEntity respEntity=adsService.HtmlUpdateAds(ads);
            RespUtil.sendJSON(resp,respEntity);//修改执行完毕
        } catch (SmartUploadException e) {
            System.out.println("错误");
            e.printStackTrace();
            RespUtil.sendJSON(resp,new RespEntity(500,"修改错误",0));//修改出现了错误
        }
    }
}
